/*
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            佛祖保佑       永无BUG
*/
$NG.AllReady(function (
	page,
	{ useValuesChange, useClick, useUpdateRow, useUpdateRows, useDataIndexChange }
) {
	console.log("Data ready event triggered");
	const mstform = $NG.getCmpApi("p_form_employ_records");
	const grid = $NG.getCmpApi("p_form_employ_records_d");
    
  useValuesChange(({args})=>{
    getProjectInfo()
    getUserInfo()
  },"p_form_employ_records.phid_pc")

  // 监听表格行为
  useUpdateRows(({args})=>{
    console.log(`表格行为监听`, args);
    initUserType(args[0])
  },"p_form_employ_records_d")

  // 获取项目
  function getProjectInfo(isReturn = false, phid = mstform.getItem("phid_pc").getValue(), fun){
    try{
        setTimeout(()=>{
            $NG.execServer("getPtInfoByPhid",{phid: phid}, (res)=>{
                const _data = JSON.parse(res.data)[0].extendObjects
                console.log(`获取项目信息`, _data);
                if(isReturn){
                    fun(_data)
                } else {
                    $NG.updateState((updater)=>{
                        updater.data.p_form_employ_records.setProps({
                          u_division: {
                                //事业部or组织
                                value: _data.org_phid,
                                label: _data.org_name,
                            },
                        })
                    })
                }
            })
        },100)
    }catch(err){
        $NG.alert("获取项目信息发生失败请检查~")
    }
}
// 根据项目获取到外包人员
function getUserInfo(){
  $NG.execServer("getWbUserInfoIsPhidPc", {phid:mstform.getItem("phid_pc").getValue()}, function(res){
    console.log(`获取项目下面的用户信息`, JSON.parse(res.data));
    const _data = JSON.parse(res.data)
    addUserToTabel(_data)
  })
}

// 添加行
function addUserToTabel(_arr){
  const _tabelData = []
  _arr.forEach(item => {
    console.log(item);
    const _map ={}
    _map.u_employment_type = item.extendObjects.yglx
    _map.u_hr_no = item.extendObjects.ry_no
    _map.u_hr_name = item.extendObjects.phid
    _map.u_hr_name_EXName = item.extendObjects.ry_name
    _map.idno = item.extendObjects.sfz
    _tabelData.push(_map)
  });
  grid.addRows(_tabelData)
  grid.refreshView()
}

// 默认每一行的用工类型都为研发
function initUserType(_data){
  _data.forEach((item)=>{
    item.u_employment_type = '02'
  })
  grid.refreshView()
}
});

